Add setup-module-windows command to streamline RNW community module integration #15116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements the
setup-module-windowscommand to automate the complete workflow for adding Windows support to React Native community modules, as requested in issue #15078.What it does
The command performs all 10 steps outlined in the issue:
codegenConfigfor Windowsyarn installyarn installagaininit-windows --template cpp-libcodegen-windowsKey Features
setup-module-windowsas requested--skip-deps,--skip-build,--logging,--no-telemetryGenerated Hello World Methods
The spec file includes these immediately functional methods:
Each method has a complete C++ implementation that works out of the box, allowing developers to test the module immediately and learn from working examples.
Usage
Benefits
This implementation addresses all feedback from the issue, providing a complete solution that gets developers from zero to a working Windows module with functional examples they can test immediately.
Fixes #15078.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
googlechromelabs.github.io/usr/local/bin/node install.mjs(dns block)https://api.github.com/repos/facebook/react-native/commits/42c8dead6/usr/local/bin/node /home/REDACTED/work/react-native-windows/react-native-windows/node_modules/jest/bin/jest.js --config /home/REDACTED/work/react-native-windows/react-native-windows/packages/@rnw-scripts/jest-e2e-config/jest.e2e.config.js --runInBand(http block)https://api.github.com/repos/facebook/react-native/commits/56cf99a96/usr/local/bin/node /home/REDACTED/work/react-native-windows/react-native-windows/node_modules/jest/bin/jest.js --config /home/REDACTED/work/react-native-windows/react-native-windows/packages/@rnw-scripts/jest-e2e-config/jest.e2e.config.js --runInBand(http block)https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.116/linux64/chrome-linux64.zip/usr/local/bin/node install.mjs(http block)If you need me to access, download, or install something from one of these locations, you can either:
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.
Microsoft Reviewers: Open in CodeFlow